到目前為止,最複雜、經典的一場troubleshooting 就是下面我要描述的
IBM R6
AIX 5.2
Oracle 9i
WebSphere(版本忘了)
一台layer 2 Switch
一台storage主機(本身有console介面)
storage 為NFS Server
R6 為 NSF Client
Oracle DB file 儲存在 storage
基本環境如上述
A廠商(我們)維護OS跟硬體
B廠商維護DB跟AP平台
C廠商維護Switch
D廠商維護Storage
這樣的環境應該是很常見的
狀況為:資料庫會不定時斷線,整台server需重開後才正常
甲方本來是找B廠商去檢查DB到底怎麼了,B廠商去了幾次後查不出問題
因為就是會連不到資料庫,但資料庫的設定卻都很正確,也沒error
後來想說會不會是switch不穩,就找了C廠商
C廠商去看過後也說沒問題,C廠商說:應該是OS的問題,要找OS廠商
就換我去了,認真檢查許久後,真的也沒問題
因為就一台R6,如果是二台R6 做個HACMP可能會有一些小狀況,但就是單機
D廠商就更不用說了,一切正常
就這樣 A B C D 廠商都說沒問題,可是組合起來就是不穩定
會議可能開了十幾場,就是找不到問題
有一天下午,我一個人跑到甲方辦公室去,
心裡面想:「os ok、service ok,每天被業務罵(技術很爛)實在是很不是味道」
跟user說:「你的storage 借我看一下好不好(在不同的機櫃)」
看了看storage,硬碟燈號都顯示正常,感覺上好像有什麼地方怪怪的卻也說不上來
就坐在地板上睡著了......(這是不好的示範,別學我)
昏睡十秒後冷醒過來,仔細的看了看storage 再想想怪怪的地方
走出去問了user:「大哥,你們的storage上二條網路線是做trunk?」
user說一條是master、一條是standby
........有想到原因可能在那裡了嗎?
我問user真的會切換嗎? user回答「是」,因為之前驗收時這個功能是被確認過的
(如果是類似高裝檢程度的驗收,功能應該是可以再被確認的)
不過有個小問題,他們還沒解決,就是二張網卡不穩,有時候master會自動停止服務,變成standby啟動
這白話文的意思是
「A網卡停止服務時,B網卡會把A網卡的IP拿來用,等A網卡恢復正常時,A網卡會再把IP拿回來」
--------有想到原因了嗎??
我跟user討論,現在能不能讓我做個test,user同意了
回到R6的螢幕前 打了 ping xxx.xxx.xxx.xxx 結果是通的
請user把 Storage上的A網卡網路線拔掉,再ping xxx.xxx.xxx.xxx 是不通的
同時間我請user 進到storage 裡,看一下B網卡的IP 確認已經是A網卡的IP了
所有的狀況都只是結果了,troubleshooting是要找到原因,把原因排除掉。「有果必有因」
當我發現這個狀況後,就變成一場大戰了
(以下A廠商發言人不是我)
D廠商說:你的OS 都不會自動更新ARP嗎?
A廠商說:OS 就算有指令能更新ARP,也是定時,你的storage 都不會更新了,扯到os來會不會太遠
D廠商說:那是我產品的問題,是我跟USER的事,你可以寫一個script 讓os每秒都去清arp table
A廠商說:你叫我們寫意思是現在的問題是我們造成的囉? 你的storage 二張網卡不穩定,先弄穩定吧
(話都講到這了......)
D廠商說:那C呢? Switch 不會自動更新mac list嗎?
(c都被拖進來.......)
A廠商說:這案子誰規劃的啊,把規劃的人叫來啊...
甲方小小聲的說:D廠商..........
最後變成了死結,技術問題轉為政治問題............
我認為對技術人員來說,經歷幾場這種扯不清的案子之後,在找原因時就會很全面
而不是只專注在自家出的設備,不過前提還是自己的心態
面對任何狀況,態度是什麼很重要,瞎子摸象是一種態度、掌握全局是另一種態度
沒有絕對的好與壞,可是自己選擇的態度會重重影響我們在面對甲方時的態度
好分享,謝了。
bigcandy提到:
好分享,謝了。
糖叔老早就認識太陽大,可能後來忘記了。